﻿using System;
using System.Net;
using System.Configuration;

namespace SimbaRGVMonitor.Common.Utils
{
    public static class ConfigurationUtil
    {
        public static int GetAppSettingsIntValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return int.Parse(value);
        }

        public static bool GetAppSettingsBooleanValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return bool.Parse(value);
        }

        public static float GetAppSettingsFloatValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return float.Parse(value);
        }

        public static double GetAppSettingsDoubleValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return double.Parse(value);
        }

        public static TimeSpan GetAppSettingsTimeSpanValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return TimeSpan.Parse(value);
        }

        public static DateTime GetAppSettingsDateTimeValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return DateTime.Parse(value);
        }

        public static IPAddress GetAppSettingsIPValue(string key)
        {
            var value = GetAppSettingsStringValue(key);
            return IPAddress.Parse(value);
        }

        public static string GetAppSettingsStringValue(string key)
        {
            return ConfigurationManager.AppSettings[key];
        }
    }
}
